package cn.kawa.org.mapper;

import cn.kawa.basic.mapper.BaseMapper;
import cn.kawa.org.domain.Employee;
import cn.kawa.org.query.EmployeeQuery;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

@Repository
public interface EmployeeMapper extends BaseMapper<Employee> {

    /** 此处只用于操作中间表EmployeeRole
     *
     * 思路：如果role_id不为空，就在employeeRole表添加一条
     * 因为employee和role是一一对应的，
     */
    void addEmployeeRole(@Param("eid") Long id, @Param("role_id") Long role_id);
    /** 此处只用于操作中间表EmployeeRole
     *
     * 思路：根据员工id删除其在employeeRole的全部内容
     */
    void delEmployeeRole(Long id);

    /**
     *
     * 通过 logininfo id 查询  emp
     * @param id
     * @return
     */
    Employee loadByLogininfoId(Long id);
    /**
     * 查询当前店铺的所有员工
     * @return
     */
    List<Employee> findByShopId(Long shopId);
    //mapper的方法定义要贴近数据库，service要贴近前端用户
    //所有方法全部都可以继承
    //加载所有
    /*List<Employee> loadAll();
    //加载单个
    Employee loadById(Long id);
    //保存一个
    void  save (Employee employee);
    //移除一个
    void  remove(Long id);
    //更新一个
    void update(Employee employee);
    //查询总数量:分页使用
    Integer queryCount(EmployeeQuery employeeQuery);
    //查询当前页数据：分页使用
    List<Employee> queryData(EmployeeQuery employeeQuery);

    void patchDel(List<Long> ids);*/
}
